/*
 * Copyright (C) 2017 yixun All Rights Reserved.
 * 
 * ProjectPremisesPmoDto.java
 */
package com.emm.yixun.common.model.dto;

import com.emm.yixun.common.model.ProjectPremisesPmo;
import java.util.LinkedList;
import java.util.List;
import java.util.Date;

import java.math.BigDecimal;
import com.alibaba.fastjson.annotation.JSONField;
import java.util.Date;

/**
 * [文件名称]<br>
 * ProjectPremisesPmoDto.java<br>
 * <br>
 * [文件描述]<br>
 * 主键 数据辅助类<br>
 * <br>
 * [修改记录]<br>
 * 2017-03-08 19:48:42 创建 陶俊代码生成器<br>
 * 
 * @author 陶俊代码生成器
 * @version 1.00
 */
public class ProjectPremisesPmoDto extends ProjectPremisesPmo {
	private static final long serialVersionUID = 1L;
	/**
	 *需要正序字段名
	 */
	private List<String> asc;
	/**
	 *需要逆序字段名
	 */
	private List<String> desc;
	/**
	 *排序SQL
	 */
	private String orders;
	/**
	 *数据权限过滤条件
	 */
	private String dataPermission;
	/**
	 * POM主键
	 */
	private String premisesPmoId;
    
    /**
	 *  添加需要正序字段名
	 */
	public void addAsc(String col){
		if(asc==null){
			asc = new LinkedList<String>();
		}
		asc.add(col);
	}
	
	/**
	 *  清空需要正序字段名
	 */
	public void cleanAsc(){
		asc = null;
	}
	
	/**
	 *  添加需要逆序字段名
	 */
	public void addDesc(String col){
		if(desc==null){
			desc = new LinkedList<String>();
		}
		desc.add(col);
	}
	
	/**
	 *  清空需要逆序字段名
	 */
	public void cleanDesc(){
		desc = null;
	}
	
	/**
	 *  如果排序SQL为空根据需要正逆序的字段名拼接排序SQL
	 */
	public String  getOrders() {
		StringBuilder orderStr = null;
		StringBuilder ascStr;
		StringBuilder descStr;
		if(orders==null){
			if(asc!=null){
				ascStr = new StringBuilder();
				orderStr = new StringBuilder();
				String pex = "";
				for(String a : asc){
					ascStr.append(pex+a);
					pex = ",";
				}
				orderStr.append(ascStr.toString()+" ASC");
			}
			if(desc!=null){
				descStr = new StringBuilder();
				String pex = "";
				for(String d : desc){
					descStr.append(pex+d);
					pex = ",";
				}
				if(orderStr==null){
					orderStr = new StringBuilder();
					orderStr.append(descStr.toString()+" DESC");
				}else{
					orderStr.append(","+descStr.toString()+" DESC");
				}
			}
			orders = orderStr!=null?orderStr.toString():null;
		}
		
		return orders;
	}
	
	public String getDataPermission() {
		return dataPermission;
	}

	public void setDataPermission(String dataPermission) {
		this.dataPermission = dataPermission;
	}
	
	/**
	 *  设置排序SQL
	 */
	public void setOrders(String orders) {
		this.orders = orders;
	}
	private Date planneCompleDateBefore;
	private Date planneCompleDateAfter;
	private Date actualFirstDayStartOperatBefore;
	private Date actualFirstDayStartOperatAfter;
	private Date endDateBefore;
	private Date endDateAfter;
	private Date updateTimeBefore;
	private Date updateTimeAfter;
	private Date actualCompleDateBefore;
	private Date actualCompleDateAfter;
	private Date createTimeBefore;
	private Date createTimeAfter;
	private Date actualStartOperatDateBefore;
	private Date actualStartOperatDateAfter;
	private Date planneFirstDayStartOperatBefore;
	private Date planneFirstDayStartOperatAfter;
	private Date planneDueDateBefore;
	private Date planneDueDateAfter;
	private Date startDateBefore;
	private Date startDateAfter;
	private Date planneStartOperatDateBefore;
	private Date planneStartOperatDateAfter;
	private Date actualDueDateBefore;
	private Date actualDueDateAfter;

    public Date getPlanneCompleDateBefore() {
        return this.planneCompleDateBefore;
    }
    public void setPlanneCompleDateBefore(Date planneCompleDateBefore) {
        this.planneCompleDateBefore = planneCompleDateBefore;
    }

    public Date getPlanneCompleDateAfter() {
        return this.planneCompleDateAfter;
    }
    public void setPlanneCompleDateAfter(Date planneCompleDateAfter) {
        this.planneCompleDateAfter = planneCompleDateAfter;
    }
    public Date getActualFirstDayStartOperatBefore() {
        return this.actualFirstDayStartOperatBefore;
    }
    public void setActualFirstDayStartOperatBefore(Date actualFirstDayStartOperatBefore) {
        this.actualFirstDayStartOperatBefore = actualFirstDayStartOperatBefore;
    }

    public Date getActualFirstDayStartOperatAfter() {
        return this.actualFirstDayStartOperatAfter;
    }
    public void setActualFirstDayStartOperatAfter(Date actualFirstDayStartOperatAfter) {
        this.actualFirstDayStartOperatAfter = actualFirstDayStartOperatAfter;
    }
    public Date getEndDateBefore() {
        return this.endDateBefore;
    }
    public void setEndDateBefore(Date endDateBefore) {
        this.endDateBefore = endDateBefore;
    }

    public Date getEndDateAfter() {
        return this.endDateAfter;
    }
    public void setEndDateAfter(Date endDateAfter) {
        this.endDateAfter = endDateAfter;
    }
    public Date getUpdateTimeBefore() {
        return this.updateTimeBefore;
    }
    public void setUpdateTimeBefore(Date updateTimeBefore) {
        this.updateTimeBefore = updateTimeBefore;
    }

    public Date getUpdateTimeAfter() {
        return this.updateTimeAfter;
    }
    public void setUpdateTimeAfter(Date updateTimeAfter) {
        this.updateTimeAfter = updateTimeAfter;
    }
    public Date getActualCompleDateBefore() {
        return this.actualCompleDateBefore;
    }
    public void setActualCompleDateBefore(Date actualCompleDateBefore) {
        this.actualCompleDateBefore = actualCompleDateBefore;
    }

    public Date getActualCompleDateAfter() {
        return this.actualCompleDateAfter;
    }
    public void setActualCompleDateAfter(Date actualCompleDateAfter) {
        this.actualCompleDateAfter = actualCompleDateAfter;
    }
    public Date getCreateTimeBefore() {
        return this.createTimeBefore;
    }
    public void setCreateTimeBefore(Date createTimeBefore) {
        this.createTimeBefore = createTimeBefore;
    }

    public Date getCreateTimeAfter() {
        return this.createTimeAfter;
    }
    public void setCreateTimeAfter(Date createTimeAfter) {
        this.createTimeAfter = createTimeAfter;
    }
    public Date getActualStartOperatDateBefore() {
        return this.actualStartOperatDateBefore;
    }
    public void setActualStartOperatDateBefore(Date actualStartOperatDateBefore) {
        this.actualStartOperatDateBefore = actualStartOperatDateBefore;
    }

    public Date getActualStartOperatDateAfter() {
        return this.actualStartOperatDateAfter;
    }
    public void setActualStartOperatDateAfter(Date actualStartOperatDateAfter) {
        this.actualStartOperatDateAfter = actualStartOperatDateAfter;
    }
    public Date getPlanneFirstDayStartOperatBefore() {
        return this.planneFirstDayStartOperatBefore;
    }
    public void setPlanneFirstDayStartOperatBefore(Date planneFirstDayStartOperatBefore) {
        this.planneFirstDayStartOperatBefore = planneFirstDayStartOperatBefore;
    }

    public Date getPlanneFirstDayStartOperatAfter() {
        return this.planneFirstDayStartOperatAfter;
    }
    public void setPlanneFirstDayStartOperatAfter(Date planneFirstDayStartOperatAfter) {
        this.planneFirstDayStartOperatAfter = planneFirstDayStartOperatAfter;
    }
    public Date getPlanneDueDateBefore() {
        return this.planneDueDateBefore;
    }
    public void setPlanneDueDateBefore(Date planneDueDateBefore) {
        this.planneDueDateBefore = planneDueDateBefore;
    }

    public Date getPlanneDueDateAfter() {
        return this.planneDueDateAfter;
    }
    public void setPlanneDueDateAfter(Date planneDueDateAfter) {
        this.planneDueDateAfter = planneDueDateAfter;
    }
    public Date getStartDateBefore() {
        return this.startDateBefore;
    }
    public void setStartDateBefore(Date startDateBefore) {
        this.startDateBefore = startDateBefore;
    }

    public Date getStartDateAfter() {
        return this.startDateAfter;
    }
    public void setStartDateAfter(Date startDateAfter) {
        this.startDateAfter = startDateAfter;
    }
    public Date getPlanneStartOperatDateBefore() {
        return this.planneStartOperatDateBefore;
    }
    public void setPlanneStartOperatDateBefore(Date planneStartOperatDateBefore) {
        this.planneStartOperatDateBefore = planneStartOperatDateBefore;
    }

    public Date getPlanneStartOperatDateAfter() {
        return this.planneStartOperatDateAfter;
    }
    public void setPlanneStartOperatDateAfter(Date planneStartOperatDateAfter) {
        this.planneStartOperatDateAfter = planneStartOperatDateAfter;
    }
    public Date getActualDueDateBefore() {
        return this.actualDueDateBefore;
    }
    public void setActualDueDateBefore(Date actualDueDateBefore) {
        this.actualDueDateBefore = actualDueDateBefore;
    }

    public Date getActualDueDateAfter() {
        return this.actualDueDateAfter;
    }
    public void setActualDueDateAfter(Date actualDueDateAfter) {
        this.actualDueDateAfter = actualDueDateAfter;
    }

	public String getPremisesPmoId() {
		return premisesPmoId;
	}

	public void setPremisesPmoId(String premisesPmoId) {
		this.premisesPmoId = premisesPmoId;
	}
	
}
